perm filename TBOX.OLD[CMS,LCS]1 blob sn#428434 filedate 1979-05-02 generic text, type T, neo UTF8
00100	COMMENT ⊗   VALID 00013 PAGES
00200	C REC  PAGE   DESCRIPTION
00300	C00001 00001
00400	C00002 00002		TITLE TBOX
00500	C00004 00003	   Reset and interrupt vectors.
00600	C00006 00004	INPUT WAIT.	Check upflg time?
00700	C00008 00005		CALL	CLED	Clear cal. and mode leds.
00800	C00010 00006	CKJSC:	MOVRI	K,JSC
00900	C00012 00007		NOP ↔ NOP ↔ NOP	For page boundry.
01000	C00014 00008	WLED:	OUTB	Latch A on bus.
01100	C00016 00009	WJLED:	MOVAR	N	Save JS led bits.
01200	C00017 00010	 Bit spreading table
01300	C00019 00011	GETJSW:	MOVRI	K,JW1
01400	C00021 00012	Alfa led message table.
01500	C00024 00013	("T"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("O"∧77)∨100
01600	C00027 ENDMK
01700	C⊗;
     

00100		TITLE TBOX
00200		.INSERT MAC748.FAI[CMS,LCS]
00300	
00400	   ;Ram bank 0 registers.
00500		K ← 0
00600		I ← 1
00700		N ← 2
00800		T ← 3	;Timer overflow count.
00900		CMD ← 4	;TBOX and JS led bits.
01000		CMD1 ← 5	;Alfa led message index.
01100		OFFL ← 6	;Alfa off timer low.
01200		OFFH ← 7	;High.
01300	
01400	   ;Ram10-27 = Stack.
01500	   ;Ram bank 1 registers.
01600		P ← 30	;Pots pointer.
01700		O ← 31	;Offset pointer.
01800		X ← 32
01900		Y ← 33
02000		Z ← 34
02100		SW0 ← 35	;TBOX switch bits.
02200		SW1 ← 36
02300		SW2 ← 37
02400	
02500	   ;Standard ram.
02600		SPD ← 40	;Speed pot.
02700		P0 ← 41	;Joy stick pots.
02800		P1 ← 42
02900		P2 ← 43
03000		P3 ← 44
03100		JW0 ← 45	;T.	Joy stick switch channels.
03200		JW1 ← 46	;P/O.
03300		JW2 ← 47	;TOOL.
03400		JW3 ← 50	;T/JS/C.
03500	
03600		OSPD ← 51	;Old speed pot.
03700		OP0 ← 52	;Joy stick offsets.
03800		OP1 ← 53
03900		OP2 ← 54
04000		OP3 ← 55
04100		OJSW ← 56	;Old joy stick switch bits.
04200		OCMD ← 57	;Old led bits.
04300		OCMD1 ← 60	;Old alfa led index.
04400	
04500		JSC ← 61	;Joy stick not calib. flag.
04600	
04700		XTAL ← =6000000	;In hertz.
04800		BRATE ← =9600	;Baud rate
04900	
05000	;TBIT ← ((=10000000/BRATE)/((=10000000/XTAL)*=15))/2
05100		TBIT ← =21
05200	
05300		TT ← 1	;Triple throw switch port.
05400		S ← 2	;Scan and A/D port.
05500		PBL ← 4	;Push button port low.
05600		PBH ← 5	;Push button port high.
05700		CEW ← 6	;Alfa led chip enables and write port.
05800		JS ← 7	;Joy stick, CU, and led latch port.
     

00100	   ;Reset and interrupt vectors.
00200		JMP	RST	;RESET VECTOR
00300		0
00400		DISXI		;EXTERNAL INTERRUPT VECTOR
00500		NOP
00600		NOP
00700		NOP
00800		DISTI		;TIMER INT VECTOR
00900		RETR
01000	
01100	   ;Power on reset.
01200	RST:	CLRA	;0 For clear cursor memory.
01300		OUTB	;Latch bus output.
01400		MOVI	377	;SETUP INPUT PORTS
01500		OUTP	TT	;SPTT switches.
01600		MOVI	77	;P4-7, SCAN, STRT, ALE.
01700		OUTP	S
01800	   ;Setup PBSW ports for input.
01900		MOVAX	PBL	;PBSW low.
02000		MOVAX	PBH	;PBSW high.
02100	
02200	   ;Clear cursor memory.
02300		MOVI	170	;7,,10.
02400		MOVAX	CEW	;Enable all alfa leds.
02500		SWAP	;A ← 207.
02600		MOVAX	JS	;Clear JS and CU.
02700	   ;Write all alfa leds.
02800		ANPA	CEW	;NOT W
02900		CPLA
03000		ORPA	CEW	;W
03100	
03200		SWAP	;A ← 10,,7.
03300		ORPA	CEW	;Disable all alfa leds.
03400		SWAP	;A0-3 ← 10.
03500		ORPA	JS	;NOT CU.
03600	
03700		CALL	CLED	;Clear leds.
03800		CALL	CALED	;Clear alfa leds.
03900		JINT	CLRJSL	;Check if joy stick.
04000		JMP	STIMER
04100	CLRJSL:	MOVRI	N,4	;Joy stick not cal. bit.
04200		CALL	CJLED	;Init joy stick leds.
04300	STIMER:	MOVAT		;Setup timer.
04400		STRTT
04500	
04600		CPLF1	;Set alfa leds off.
04700		MOVRI	K,JSC
04800		MOVMI	K,4	;Set joy stick not calib.
04900		
05000		JMP	SETFLG
05100	
05200	; Set scan flag and timer
05300	UPFLG:	DJNZ	T,CKIN
05400	SETFLG:	MOVRI	T,4	;4 = 82 ms.
05500		CLRF0		;Set scan flag
05600	
05700		JF1S	CKIN	;Check if alfa off.
05800		DJNZ	OFFL,CKIN	;OFFW ← OFFW - 1.
05900		DJNZ	OFFH,CKIN
06000		CPLF1	;Set alfa led off flag.
     

00100	;INPUT WAIT.	Check upflg time?
00200	   OFFSET ← TBIT/3	;Center delay?
00300	INWAI:	JTF	UPFLG	;Check if timer time out.
00400	
00500	CKIN:	JT0H	INWAI	;Check for start bit.
00600	
00700		MOVRI	K,OFFSET-4	;Center - Itime.
00800	CENTER:	DJNZ	K,CENTER	;Wait for center of bit
00900		JT0H	INWAI	;Check if valid start bit
01000	
01100	; Byte input routine
01200		MOVRI	N,11	;# of bits -1
01300	
01400	ILOOP:	MOVRI	K,TBIT-5;tBIT - tI
01500	WAI:	DJNZ	K,WAI
01600		CLRC
01700		JT0H	BITON
01800		RORC
01900		JMP	BITOFF
02000	BITON:	CPLC
02100		RORC
02200		NOP
02300	
02400	BITOFF:	DJNZ	N,ILOOP
02500	
02600		ROLC		;Shift out stop bit
02700		JCC	INWAI	;Check for good stop bit.
02800	
02900		JBS	7,BYTE1	;Check if first or second byte.
03000	
03100		MOVAR	CMD	;Save first input byte.
03200		JMP	INWAI	;Get next byte.
03300	
03400	BYTE1:	MOVAR	CMD1	;Save second byte.
03500	
03600		CLRA	;SPD default.
03700		JT1H	ADZRO	;Speed off.
03800	
03900	   ;A/DCHAN ← SPEED.
04000		OUTB	;Latch zero on bus.
04100		ORPI	S,200	;ALE.
04200		ANPI	S,177	;NOT ALE.
04300	
04400		CALL	CONVRT	;Wait for speed.
04500	
04600		JNZ	ADZRO	;Check if on and zero.
04700		INCA	;A ← 1.
04800	
04900	ADZRO:	MOVRI	K,SPD	;Save speed pot value.
05000		MOVAM	K
     

00100		CALL	CLED	;Clear cal. and mode leds.
00200		MOVRA	CMD	;Get mode code.
00300		RORC	;Get cal. bit.
00400		ANI	7	;Zero data input to LS259.
00500		CALL	WLED	;Write mode led.
00600	
00700		JCC	CKJOY	;No calib. bit.
00800		CLRA	;Led 0.
00900		CALL	WLED	;Write cal. led.
01000	
01100	CKJOY:	JINT	GPOTS	;Check for joy stick.
01200		MOVRI	K,JSC
01300		MOVMI	K,4	;JSC ← 1.
01400		JMP	CKSCAN
01500	
01600	GPOTS:	MOVRA	CMD	;Setup JS led bits.
01700		SWAP	;Get JS led bits.
01800		ANI	3	;2 JS led bits.
01900		MOVRI	K,JSC
02000		ORM	K	;A ← A .OR. JSC.
02100		CALL	WJLED	;Write JS led bits.
02200	
02300	;A/D convert routines.
02400		MOVI	1	;Chanel 1.
02500		OUTB	;Latch bus output.
02600		ORPI	S,200	;ALE
02700		ANPI	S,177	;NOT ALE.
02800	
02900		MOVI	375	;NOT CLR bit.
03000		ANPA	JS	;NOT CLR.
03100		CPLA
03200		ORPA	JS	;CLR.
03300		MOVRI	P,P0	;JS pot index.
03400		MOVRI	N,10	;# of pots + switch channels.
03500	
03600	ADLOOP:	CALL	CONVRT	;Wait for A/D.
03700		MOVAM	P	;Ram(p) ← Pots&sws(p).
03800	
03900		MOVI	376
04000		ANPA	JS	;NOT CNT.
04100		CPLA
04200		ORPA	JS	;CNT
04300	
04400		INCR	P	;Next pot.
04500		DJNZ	N,ADLOOP	;Next channel.
04600	
04700	;Check for scan flag.
04800	CKSCAN:	JF0S	CKJSC	;Scan flag.
04900	
05000		JMP	SCAN	;Scan switches.
     

00100	CKJSC:	MOVRI	K,JSC
00200		MOVMA	K	;A ← JSC.
00300		JBS	2,ZPOTS	;Check if JS not calib.
00400	
00500		MOVRI	P,P0	;Pots pointer.
00600		MOVRI	O,OP0	;Offset pointer.
00700		MOVRI	N,4	;# of pots.
00800	
00900	OFFSL:	MOVMA	P	;Get pot.
01000		CPLA
01100		ADDM	O	;Subtract offset.
01200		CPLA
01300		MOVAM	P	;Save pot.
01400	
01500		INCR	P
01600		INCR	O
01700		DJNZ	N,OFFSL
01800		JMP	CKACT
01900	
02000	ZPOTS:	CLRA
02100		MOVRI	P,P0
02200		MOVRI	N,4	;# of pots.
02300	ZPL:	MOVAM	P	;Ram(Pots) ← 0.
02400		INCR	P
02500		DJNZ	N,ZPL
02600	
02700	;Activity check.
02800	CKACT:	MOVRI	K,OCMD
02900		MOVMA	K
03000		XORR	CMD	;A ← CMD .XOR. OCMD.
03100		JNZ	ACT
03200		MOVRI	K,OCMD1	;Old alfa index.
03300		MOVMA	K
03400		XORR	CMD1
03500		JNZ	ACT
03600	
03700		SRB1	;Select ram bank 1.
03800		MOVRA	SW0
03900		JNZ	RACT
04000		MOVRA	SW1
04100		JNZ	RACT
04200		MOVRA	SW2
04300		ANI	77	;Mask out JS and P/O bits.
04400		JNZ	RACT
04500	
04600		MOVRI	P,SPD	;Now pot index.
04700		MOVRI	O,OSPD	;Old pot index.
04800		MOVMA	P	;Check speed.
04900		XORM	O
05000		JZ	CKJP
05100	
05200	RACT:	SRB0	;Select ram bank 0.
05300	ACT:	JMP	ACTIVE
     

00100		NOP ↔ NOP ↔ NOP	;For page boundry.
00200	CKJP:	MOVRI	N,4
00300	JSZCK:	INCR	P
00400		MOVMA	P
00500		JNZ	RACT	;Check if JS pots are zero.
00600		DJNZ	N,JSZCK
00700	
00800		SRB0	;Select ram bank 0.
00900		CLRA	;Blank message index.
01000		JF1S	ADPY	;Check if alfa off.
01100		JMP	OBITS	;Not active.
01200	
01300	RSTRAM:	SRB0	;Select ram bank 0.
01400	ACTIVE:	MOVRA	CMD	;OLD ← NEW.
01500		MOVRI	K,OCMD
01600		MOVAM	K	;OCMD.
01700		MOVRA	CMD1
01800		INCR	K
01900		MOVAM	K	;OCMD1.
02000	
02100		MOVRI	P,SPD
02200		MOVRI	O,OSPD
02300		MOVMA	P	;A ← SPD.
02400		MOVAM	O	;OSPD ← A.
02500	
02600		CLRF1	;Alfa led off flag ← 0.
02700		MOVRI	OFFH,10	;OFFW ← tOWAIT.
02800	
02900		MOVRA	CMD1	;Update alfa leds.
03000		SWAP	;Shift etc.
03100		ANI	360	;For 16 messages.
03200	ADPY:	CALL	OALFA	;Output message.
03300	
03400	OBITS:	MOVRI	CMD1,0	;Init check sum.
03500		MOVRI	I,SW0	;Point to out bytes.
03600		MOVRI	CMD,10	;# of output bytes.
03700	
03800	OUTL:	MOVMA	I	;Get output byte.
03900		CALL	OBYTE
04000		ADR	CMD1	;Add it to cksum.
04100		MOVAR	CMD1
04200	
04300		INCR	I
04400		DJNZ	CMD,OUTL
04500	
04600		MOVRA	CMD1
04700		CPLA
04800		INCA
04900		CALL	OBYTE	;Output check sum.
05000	
05100		JMP	INWAI	;Loop back to input wait.
05200	
05300	; Output Acc. to SI/O line
05400	OBYTE:	MOVRI	K,11	;# of bits -1
05500		CLRC
05600		ROLC		;Start bit
05700	OLOOP:	OUTP	TT	;Output bit
05800		RORC
05900		MOVRI	N,TBIT-3	;TBIT - Itime.
06000	
06100	OWAIT:	DJNZ	N,OWAIT
06200		DJNZ	K,OLOOP
06300	
06400		ORPI	TT,377	;Stop bit.
06500		MOVRI	N,TBIT-10	;TBIT - Itime.
06600	SWAIT:	DJNZ	N,SWAIT
06700		RORC
06800		RET
     

00100	WLED:	OUTB	;Latch A on bus.
00200		MOVI	7	;NOT led E bit.
00300		ANPA	JS	;NOT E.
00400		CPLA
00500		ORPA	JS	;E.
00600	
00700		RET
00800	
00900	;Clear leds
01000	CLED:	MOVRI	N,370
01100		MOVRA	N	;Setup regs.
01200	CLRL:	CALL	WLED	;Clear led loop.
01300		INCR	N	;Next led.
01400		MOVRA	N
01500		JNZ	CLRL
01600	
01700		RET
01800	
01900	;Convert channel and wait.
02000	CONVRT:	ORPI	S,100	;STRT.
02100		ANPI	S,277	;NOT STRT.
02200	
02300		MOVI	=22	;=172 micro seconds?
02400	CONL:	DECA	;Convert wait.
02500		JNZ	CONL
02600		MOVXMA	K	;Get A/D output.
02700		MOVXMA	K	;Twice for bus unlatch.
02800		OUTB	;Latch bus for output.
02900		RET
03000	
03100	;Alfa led output routines.
03200	CALED:	CLRA	;Blank string index.
03300	
03400	OALFA:	MOVAR	I	;Save string index.
03500		MOVI	376	;NOT CE0.
03600	
03700	CENBL:	MOVRI	N,4	;# of chrs in I.C.
03800		MOVAR	K	;Save CE.
03900		MOVAX	CEW	;NOT CE.
04000	
04100	CHRL:	MOVRA	I
04200		MOVP3	;A ← String(chr).
04300		OUTB	;Latch bus output.
04400	
04500		MOVI	367
04600		ANPA	CEW	;NOT W.
04700		CPLA
04800		ORPA	CEW	;W
04900	
05000		INCR	I	;CHR ← CHR+1.
05100		DJNZ	N,CHRL
05200	
05300		MOVRA	K
05400		ROL	;Next CE.
05500		JBS	3,CENBL
05600	
05700		ORPA	CEW	;CE.
05800	
05900		RET
06000	
     

00100	WJLED:	MOVAR	N	;Save JS led bits.
00200	CJLED:	MOVI	355	;NOT CNT,,CLR.
00300		ANPA	JS	;NOT CLR.
00400		CPLA
00500		ORPA	JS	;CLR.
00600		SWAP	;A ← 2,,1.
00700	
00800		INCR	N	;Fix for latch.
00900		JMP	CKZRO
01000	
01100	CJL:	CPLA	;A ← 15,,16.
01200		ANPA	JS	;NOT CNT.
01300		CPLA
01400		ORPA	JS	;CNT
01500	CKZRO:	DJNZ	N,CJL
01600	
01700		MOVI	373
01800		ANPA	JS	;NOT LAT.
01900		CPLA
02000		ORPA	JS	;LAT.
02100	
02200		RET
     

00100	; Bit spreading table
00200	   LOC 1000	;1000 = Start of page two.
00300		125 ↔ 124 ↔ 121 ↔ 120 ↔ 105 ↔ 104 ↔ 101 ↔ 100
00400		 25 ↔  24 ↔  21 ↔  20 ↔   5 ↔   4 ↔   1 ↔   0
00500	   SBITS ← 60	;Scan bits.
00600	   ROW0 ← 357	;Scan row 0.
00700	   ROW1 ← 337	;Scan row 1.
00800	
00900	SCAN:	SRB1	;Select ram bank 1.
01000		CPLF0		;Reset scan flag.
01100		ORPI	S,SBITS	;Turn off rows
01200		ANPI	S,ROW0	;Enable row 0.
01300		INP	TT	;Scan row 0
01400		MOVAR	SW0	;Save it
01500		ANI	17	;Get low nibble
01600		MOVPD		;Get bits from spread table
01700		XCHR	SW0
01800		SWAP		;Swap high low nibbles
01900		ANI	17	;Get high nibble 
02000		MOVPD
02100		MOVAR	SW1
02200	
02300		ORPI	S,SBITS	;Turn off row 0.
02400		ANPI	S,ROW1	;Enable row 1.
02500		INP	TT	;Scan row 1
02600		ORPI	S,SBITS	;Disable scan.
02700		MOVAR	SW2	;Save row 1
02800		ANI	17	;Low nibble
02900		MOVPD
03000		ROL		;Shift + bits
03100		ORR	SW0	;Or into - bits
03200		ANI	374	;Clear teach and off bits.
03300		MOVAR	SW0
03400		MOVRA	SW2	;Get row 1 again
03500		SWAP
03600		ANI	17
03700		MOVPD
03800		ROL
03900		ORR	SW1
04000		MOVAR	SW1
04100	
04200		MOVXA	PBL	;Get push buttons.
04300		MOVAR	SW2	;Save low nibble.
04400		MOVXA	PBH
04500		SWAP	;High nibble.
04600		ORR	SW2
04700	
04800		CPLA
04900		MOVAR	SW2
05000		ANI	77	;Zero JS and P/O bits.
05100		XCHR	SW2
05200		ROLC		;Shift & swap teach & off bits
05300		ROL
05400		ROLC
05500		ANI	3
05600		ORR	SW0
05700		MOVAR	SW0
05800	
05900		JINT	GETJSW	;Check if joy stick.
06000		SRB0	;Select ram bank 0.
06100		JMP	ZPOTS	;No joy stick.
     

00100	GETJSW:	MOVRI	K,JW1
00200		MOVMA	K	;A ← P/O.
00300		ANI	100	;Get P/O bit.
00400		ORR	SW2
00500		MOVAR	SW2	;SW2 ← P/O .OR. PBSWs.
00600		MOVRI	K,JW3
00700		MOVMA	K	;Joy stick T/JS/C bits.
00800		ANI	300
00900		JZ	SETOFF	;Calib. joy stick.
01000	
01100		JBS	6,SETJT
01200		MOVI	100
01300	SETJT:	XORI	300	;Complement J/T bit.
01400		ORR	SW2	;OR into SW2.
01500		MOVAR	SW2
01600	
01700		JBS	7,GTOOL	;Check for JS mode.
01800		SRB0	;Select ram bank 0.
01900		JMP	CKJSC
02000	
02100	GTOOL:	MOVRI	K,JW0	;Check JS switch bits.
02200		MOVMA	K	;Get JS teach switch.
02300		ROLC
02400		MOVRA	SW0
02500		ROR
02600		ROLC	;Shift teach bit into SW0.
02700		MOVAR	SW0
02800	
02900		MOVRI	K,JW2
03000		MOVMA	K	;Get JS tool bits.
03100		ANI	300
03200		JNZ	TPLUS	;Check for T-.
03300	
03400		MOVI	100	;T- bit.
03500	STOOL:	XCHR	SW1
03600		ANI	77	;Zero TBOX tool bits.
03700		ORR	SW1	;SW1 ← SW1 .OR. JSTOOLBITS.
03800		MOVAR	SW1
03900		SRB0	;Select ram bank 0.
04000		JMP	CKJSC
04100	
04200	TPLUS:	JBS	6,SETTP	;Check for no tool bits.
04300		CLRA
04400	SETTP:	ANI	200
04500		JMP	STOOL	;OR Tbits into SW1.
04600	
04700	SETOFF:	MOVRI	P,P0	;Pots pointer.
04800		MOVRI	O,OP0	;Offset pointer.
04900		MOVRI	N,4	;# of pots.
05000	SETL:	MOVMA	P	;A ← POT(P).
05100		MOVAM	O	;OFFSET(O) ← A.
05200		INCR	P
05300		INCR	O
05400		DJNZ	N,SETL
05500	
05600		MOVRI	K,JSC
05700		MOVMI	K,0	;JSC ← 0.
05800		MOVI	200
05900		ORR	SW2	;Set JS/T bit.
06000		MOVAR	SW2
06100		JMP	GTOOL
     

00100	;Alfa led message table.
00200	   LOC 1400	;Start of page three.
00300	
00400	(" "∧77)∨300 ↔ (" "∧77)∨200 ↔ (" "∧77)∨100
00500	" "∧77 ↔ (" "∧77)∨300 ↔ (" "∧77)∨200
00600	(" "∧77)∨100 ↔ " "∧77 ↔ (" "∧77)∨300
00700	(" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
00800	0 ↔ 0 ↔ 0 ↔ 0
00900	
01000	("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
01100	"I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
01200	("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
01300	("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "1"∧77
01400	0 ↔ 0 ↔ 0 ↔ 0
01500	
01600	("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
01700	"I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
01800	("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
01900	("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "2"∧77
02000	0 ↔ 0 ↔ 0 ↔ 0
02100	
02200	("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
02300	"I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
02400	("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
02500	("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "3"∧77
02600	0 ↔ 0 ↔ 0 ↔ 0
02700	
02800	("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
02900	"I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
03000	("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
03100	("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "4"∧77
03200	0 ↔ 0 ↔ 0 ↔ 0
03300	
03400	("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
03500	"I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
03600	("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
03700	("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "5"∧77
03800	0 ↔ 0 ↔ 0 ↔ 0
03900	
04000	("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
04100	"I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
04200	("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
04300	("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "6"∧77
04400	0 ↔ 0 ↔ 0 ↔ 0
04500	
04600	("L"∧77)∨300 ↔ ("I"∧77)∨200 ↔ ("M"∧77)∨100
04700	"I"∧77 ↔ ("T"∧77)∨300 ↔ (" "∧77)∨200
04800	("S"∧77)∨100 ↔ "T"∧77 ↔ ("O"∧77)∨300
04900	("P"∧77)∨200 ↔ (" "∧77)∨100 ↔ "7"∧77
05000	0 ↔ 0 ↔ 0 ↔ 0
     

00100	("T"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("O"∧77)∨100
00200	" "∧77 ↔ ("C"∧77)∨300 ↔ ("L"∧77)∨200
00300	("O"∧77)∨100 ↔ "S"∧77 ↔ ("E"∧77)∨300
00400	(" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
00500	0 ↔ 0 ↔ 0 ↔ 0
00600	
00700	("T"∧77)∨300 ↔ ("O"∧77)∨200 ↔ ("O"∧77)∨100
00800	" "∧77 ↔ ("F"∧77)∨300 ↔ ("A"∧77)∨200
00900	("R"∧77)∨100 ↔ " "∧77 ↔ (" "∧77)∨300
01000	(" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
01100	0 ↔ 0 ↔ 0 ↔ 0
01200	
01300	("T"∧77)∨300 ↔ ("E"∧77)∨200 ↔ ("A"∧77)∨100
01400	"C"∧77 ↔ ("H"∧77)∨300 ↔ (" "∧77)∨200
01500	("M"∧77)∨100 ↔ "O"∧77 ↔ ("D"∧77)∨300
01600	("E"∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
01700	0 ↔ 0 ↔ 0 ↔ 0
01800	
01900	("M"∧77)∨300 ↔ ("A"∧77)∨200 ↔ ("N"∧77)∨100
02000	"U"∧77 ↔ ("A"∧77)∨300 ↔ ("L"∧77)∨200
02100	(" "∧77)∨100 ↔ "M"∧77 ↔ ("O"∧77)∨300
02200	("D"∧77)∨200 ↔ ("E"∧77)∨100 ↔ " "∧77
02300	0 ↔ 0 ↔ 0 ↔ 0
02400	
02500	("N"∧77)∨300 ↔ ("O"∧77)∨200 ↔ (" "∧77)∨100
02600	"H"∧77 ↔ ("I"∧77)∨300 ↔ ("G"∧77)∨200
02700	("H"∧77)∨100 ↔ " "∧77 ↔ ("P"∧77)∨300
02800	("W"∧77)∨200 ↔ ("R"∧77)∨100 ↔ " "∧77
02900	0 ↔ 0 ↔ 0 ↔ 0
03000	
03100	("P"∧77)∨300 ↔ ("R"∧77)∨200 ↔ ("O"∧77)∨100
03200	"G"∧77 ↔ (" "∧77)∨300 ↔ ("R"∧77)∨200
03300	("U"∧77)∨100 ↔ "N"∧77 ↔ ("N"∧77)∨300
03400	("I"∧77)∨200 ↔ ("N"∧77)∨100 ↔ "G"∧77
03500	0 ↔ 0 ↔ 0 ↔ 0
03600	
03700	("R"∧77)∨300 ↔ ("U"∧77)∨200 ↔ ("N"∧77)∨100
03800	" "∧77 ↔ ("H"∧77)∨300 ↔ ("O"∧77)∨200
03900	("L"∧77)∨100 ↔ "D"∧77 ↔ (" "∧77)∨300
04000	(" "∧77)∨200 ↔ (" "∧77)∨100 ↔ " "∧77
04100	0 ↔ 0 ↔ 0 ↔ 0
04200	
04300	("F"∧77)∨300 ↔ ("A"∧77)∨200 ↔ ("T"∧77)∨100
04400	"A"∧77 ↔ ("L"∧77)∨300 ↔ (" "∧77)∨200
04500	("E"∧77)∨100 ↔ "R"∧77 ↔ ("R"∧77)∨300
04600	("O"∧77)∨200 ↔ ("R"∧77)∨100 ↔ " "∧77
04700	0 ↔ 0 ↔ 0 ↔ 0
04800	
04900	   LOC 2272
05000		0	;This is for a block of zeros
05100	END